package pl.marekbar;

import pl.marekbar.czynnosc.EkranGlowny;
import android.app.Activity;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.TaskStackBuilder;
import android.widget.RemoteViews;

public class Powiadomienie
{
	public static final int ID = 218;



	public static void wyslij(Context kontekst,
			Class<? extends Activity> czynnosc, String tekst)
	{
		NotificationCompat.Builder budowniczy = new NotificationCompat.Builder(
				kontekst).setSmallIcon(R.drawable.krolik)
				.setContentTitle(Aplikacja.tytul).setContentText(tekst);

		Intent zamiar = new Intent(kontekst, czynnosc);

		TaskStackBuilder budowniczyStosu = TaskStackBuilder.create(kontekst);
		budowniczyStosu.addParentStack(czynnosc);

		budowniczyStosu.addNextIntent(zamiar);

		PendingIntent trwajacyZamiar = budowniczyStosu.getPendingIntent(0,
				PendingIntent.FLAG_UPDATE_CURRENT);
		budowniczy.setContentIntent(trwajacyZamiar);

		NotificationManager menedzerPowiadomien = (NotificationManager) kontekst
				.getSystemService(Context.NOTIFICATION_SERVICE);
		menedzerPowiadomien.notify(Powiadomienie.ID, budowniczy.build());
	}



	public static void wyslijDuze(Context kontekst,
			Class<? extends Activity> czynnosc, String tekst)
	{
		RemoteViews widok = new RemoteViews(kontekst.getPackageName(),
				R.layout.rozbudowane_powiadomienie);
		widok.setTextViewText(R.id.powiadomienie_tytul, Aplikacja.tytul);
		widok.setTextViewText(R.id.powiadomienie_szczegoly, tekst);
		NotificationCompat.Builder budowniczy = new NotificationCompat.Builder(
				kontekst).setContentTitle(Aplikacja.tytul).setContentText("")
				.setSmallIcon(R.drawable.krolik);

		Intent zamiar = new Intent(kontekst, czynnosc);

		TaskStackBuilder budowniczyStosu = TaskStackBuilder.create(kontekst);
		budowniczyStosu.addParentStack(czynnosc);

		budowniczyStosu.addNextIntent(zamiar);

		PendingIntent trwajacyZamiar = budowniczyStosu.getPendingIntent(0,
				PendingIntent.FLAG_UPDATE_CURRENT);

		budowniczy.setContentIntent(trwajacyZamiar);
		budowniczy.setContent(widok);
		NotificationManager menedzerPowiadomien = (NotificationManager) kontekst
				.getSystemService(Context.NOTIFICATION_SERVICE);
		menedzerPowiadomien.notify(Powiadomienie.ID, budowniczy.build());
	}



	public static void powiadomienie(Context kontekst,
			Class<? extends Activity> czynnosc, String tytul, String tekst)
	{
		NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
				kontekst).setSmallIcon(R.drawable.krolik)
				.setContentTitle(tytul).setContentText(tekst);
		Intent resultIntent = new Intent(kontekst, czynnosc);

		TaskStackBuilder stackBuilder = TaskStackBuilder.create(kontekst);
		stackBuilder.addParentStack(czynnosc);
		stackBuilder.addNextIntent(resultIntent);
		PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
				PendingIntent.FLAG_UPDATE_CURRENT);
		mBuilder.setContentIntent(resultPendingIntent);
		NotificationManager mNotificationManager = (NotificationManager) kontekst
				.getSystemService(Context.NOTIFICATION_SERVICE);
		mNotificationManager.notify(1349, mBuilder.build());
	}
}
